package com.ae.shield.common.enchantment.shieldSuffix;

import com.ae.shield.ModLib;
import net.minecraft.enchantment.Enchantment;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;

public class SuffixList {
    public static final DeferredRegister<Enchantment> SUFFIX = DeferredRegister.create(ForgeRegistries.ENCHANTMENTS, ModLib.MOD_ID);
    public static final RegistryObject<Enchantment> HIGH_FREQUENCY = SUFFIX.register("high_frequency", HighFrequency::new);
    public static final RegistryObject<Enchantment> LOW_FREQUENCY = SUFFIX.register("low_frequency", LowFrequency::new);
    public static final RegistryObject<Enchantment> HIGH_PRESSURE = SUFFIX.register("high_pressure", HighPressure::new);
    public static final RegistryObject<Enchantment> LOW_PRESSURE = SUFFIX.register("low_pressure", LowPressure::new);
    public static final RegistryObject<Enchantment> OVERCLOCK = SUFFIX.register("overclock", Overclock::new);
    public static final RegistryObject<Enchantment> CONSERVATION = SUFFIX.register("conservation", Conservation::new);
    public static final RegistryObject<Enchantment> SUPER_LOAD_ALPHA = SUFFIX.register("super_load_alpha", SuperLoadAlpha::new);
    public static final RegistryObject<Enchantment> SUPER_LOAD_BETA = SUFFIX.register("super_load_beta", SuperLoadBeta::new);
    public static final RegistryObject<Enchantment> SUPER_CHARGED = SUFFIX.register("super_charged", SuperCharged::new);
    public static final RegistryObject<Enchantment> TRICKLE_CHARGE = SUFFIX.register("trickle_charge", TrickleCharge::new);
    public static final RegistryObject<Enchantment> SPECIALIZATION_C = SUFFIX.register("specialization_c", () -> new Specialization(0));
    public static final RegistryObject<Enchantment> SPECIALIZATION_R = SUFFIX.register("specialization_r", () -> new Specialization(1));
    public static final RegistryObject<Enchantment> SPECIALIZATION_M = SUFFIX.register("specialization_m", () -> new Specialization(2));
    public static final RegistryObject<Enchantment> SPECIALIZATION_O = SUFFIX.register("specialization_o", () -> new Specialization(3));
    public static final RegistryObject<Enchantment> INTENSIFY_I = SUFFIX.register("intensify_i", () -> new Intensify(0));
    public static final RegistryObject<Enchantment> INTENSIFY_U = SUFFIX.register("intensify_u", () -> new Intensify(1));
    public static final RegistryObject<Enchantment> INTENSIFY_F = SUFFIX.register("intensify_f", () -> new Intensify(2));
    public static final RegistryObject<Enchantment> INTENSIFY_REC = SUFFIX.register("intensify_rec", () -> new Intensify(3));
    public static final RegistryObject<Enchantment> INTENSIFY_CL = SUFFIX.register("intensify_cl", () -> new Intensify(4));
    public static final RegistryObject<Enchantment> INTENSIFY_REM = SUFFIX.register("intensify_rem", () -> new Intensify(5));
    public static final RegistryObject<Enchantment> INTENSIFY_M = SUFFIX.register("intensify_m", () -> new Intensify(6));
    public static final RegistryObject<Enchantment> INTENSIFY_O = SUFFIX.register("intensify_o", () -> new Intensify(7));
    public static final RegistryObject<Enchantment> INTENSIFY_PE = SUFFIX.register("intensify_pe", () -> new Intensify(8));
    public static final RegistryObject<Enchantment> INTENSIFY_PI = SUFFIX.register("intensify_pi", () -> new Intensify(9));
    public static final RegistryObject<Enchantment> INTENSIFY_CO = SUFFIX.register("intensify_co", () -> new Intensify(10));
    public static final RegistryObject<Enchantment> INTENSIFY_CD = SUFFIX.register("intensify_cd", () -> new Intensify(11));
    public static final RegistryObject<Enchantment> LEVEL_UP = SUFFIX.register("level_up", LevelUp::new);
}
